#include "Headers/HostUDP.h"


HostUDP::~HostUDP()
{

}

bool HostUDP::polacz()
{
    ACK = false;
    Receiver.Bind(port);
    Receiver.SetBlocking(false);
    SocketTCP Listener;
    SocketTCP Client;
    if (!Listener.Listen(port))
    {
        cout<<"blad";
    }
    if (Listener.Accept(Client, &ip) != sf::Socket::Done)
    {
        cout<<"blad";
    }
    else
    {
        cout<<"CONNECTED"<<endl;
    }

//    if(pobierz())
//    {
//        zapisane = ip;
//        odb>>ACK;
//        Receiver.SetBlocking(false);
//        wyslij();
////        do
////        {
////            wys<<ACK;
////            wyslij();
////        }
////        while(!pobierz());
//
//
//
//        cout<<"CONNECTED: "<<ip<<endl;
//
//    }

    return 0;
}

bool HostUDP::wyslij()
{
    bool udane = false;
    if(Sender.Send(wys,zapisane,port2))
        cout<<"Error: "<<Helper.GetErrorStatus()<<endl;
    else
    {
        cout<<"HOST WYSLAL na ip: "<<zapisane<<endl;
        udane = true;
    }
    wys.Clear();
    return udane;
}


bool HostUDP::pobierz()
{
    bool udane;
    odb.Clear();
    if (Receiver.Receive(odb,ip,port))
        cout<<"Error Receive: "<<Helper.GetErrorStatus()<<endl;
    else
    {
        udane = true;
        cout<<"HOST ODEBRAL od ip: "<<ip<<endl;
    }
    return udane;
}
